package com.ruoyi.web.controller.app;

import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.wb.dto.WbPlanClassifyDto;
import com.ruoyi.wb.service.IWbPlanClassifyService;
import com.ruoyi.wb.service.IWbPlanService;
import com.ruoyi.wb.vo.WbPlanClassifyVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/**
 * 维保类目列Controller
 *
 * @author ruoyi
 * @date 2024-10-14
 */
@Api(tags="app-端-维保类目列信息管理")
@RestController
@RequestMapping("/wb/wbPlanClassify")
public class WbAppPlanClassifyController extends BaseController {
    @Autowired
    private IWbPlanClassifyService wbPlanClassifyService;

    @Autowired
    private IWbPlanService iWbPlanService;

    private static final ExecutorService exec = Executors.newCachedThreadPool();


    @ApiOperation("根据计划id查看目录包含目录内容")
    @GetMapping("/getCatalogueItemByPlanId")
    public TableDataInfo getCatalogueItemByPlanId(WbPlanClassifyDto dto) {
        List<WbPlanClassifyVo> list = wbPlanClassifyService.getCatalogueItemByPlanId(dto);
        //使用单独线程完成
//        exec.submit(()->{
//            try {
//                WbPlanClassifyDto wbPlanClassifyDto = new WbPlanClassifyDto();
//                wbPlanClassifyDto.setPlanId(dto.getPlanId());
//                WbPlan tempWbPlan = iWbPlanService.selectWbPlanById(dto.getPlanId());
//                if (ObjectUtil.isNotEmpty(tempWbPlan) &&tempWbPlan.getPlanType().equals(PlanTypeEnums.MONTHLY.getType())){
//                    String xlsName = XlsCopyToPngUtil.copyXlsMonth(list, tempWbPlan,false);
//                    String pngName = XlsCopyToPngUtil.xlsToPng(xlsName, PlanTypeEnums.MONTHLY.getType());
//                    String pdfName = XlsCopyToPngUtil.xlsToPdf(xlsName, PlanTypeEnums.MONTHLY.getType());
//                    tempWbPlan.setExaminingReport(pngName);
//                    int i = iWbPlanService.updateWbPlan(tempWbPlan);
//                    if (i==0){
//                        throw  new RuntimeException("维保计划图片插入失败");
//                    }
//                }
//            } catch (Exception e) {
//                System.out.println("id为"+dto.getPlanId()+" 的计划生成图片失败");
//                e.printStackTrace();
//            }
//        });
        return getDataTable(list);
    }
}